/*******************************************************************************
* Project: QSAR(Cute Software Architecture)
*
* Copyright: Copyright(C) 2024 by YuetingBen, All Rights Reserved
*
* File name: NmType.h
*
* Brief: ;
*
* Author: Yueting.Ben
*
* Module: Nm
*
*******************************************************************************/

#ifndef NMTYPE_H
#define NMTYPE_H

/** HEADER FILES **/
#include "PlatformCfg.h" 


/** MACRO DEFINITION **/


/** TYPEDEF DEFINITION **/
typedef uint8 Nm_ModeType;
#define NM_MODE_BUS_SLEEP ((Nm_ModeType)0x00)  /* Bus-Sleep Mode */
#define NM_MODE_PREPARE_BUS_SLEEP ((Nm_ModeType)0x01)  /* Prepare-Bus Sleep Mode */
#define NM_MODE_SYNCHRONIZE ((Nm_ModeType)0x02)  /* Synchronize Mode */
#define NM_MODE_NETWORK ((Nm_ModeType)0x03)  /* Network Mode */

typedef uint8 Nm_StateType;
#define NM_STATE_UNINIT ((Nm_StateType)0x00)  /* Uninitialized State */
#define NM_STATE_BUS_SLEEP ((Nm_StateType)0x01)  /* Bus-Sleep State */
#define NM_STATE_PREPARE_BUS_SLEEP ((Nm_StateType)0x02)  /* Prepare-Bus State */
#define NM_STATE_READY_SLEEP ((Nm_StateType)0x03)  /* Ready Sleep State */
#define NM_STATE_NORMAL_OPERATION ((Nm_StateType)0x04)  /* Normal Operation State */
#define NM_STATE_REPEAT_MESSAGE ((Nm_StateType)0x05)  /* Repeat Message State */
#define NM_STATE_SYNCHRONIZE ((Nm_StateType)0x06)  /* Synchronize State */
#define NM_STATE_OFFLINE ((Nm_StateType)0x07)  /* Offline State */

typedef uint8 Nm_BusNmType;
#define NM_BUSNM_CANNM ((Nm_BusNmType)0x00)  /* CAN NM type */
#define NM_BUSNM_FRNM ((Nm_BusNmType)0x01)  /* FR NM type */
#define NM_BUSNM_UDPNM ((Nm_BusNmType)0x02)  /* UDP NM type */
#define NM_BUSNM_GENERICNM ((Nm_BusNmType)0x03)  /* Generic NM type */
#define NM_BUSNM_UNDEF ((Nm_BusNmType)0xFF)  /* NM type undefined; it shall be defined as FFh */
#define NM_BUSNM_J1939NM ((Nm_BusNmType)0x04)  /* SAE J1939 NM type (address claiming) */
#define NM_BUSNM_LOCALNM ((Nm_BusNmType)0x05)  /* Local NM Type */

typedef struct
{
    uint8 test;
}Nm_ConfigType;


#endif

